-
Notifications
You must be signed in to change notification settings - Fork 1k
feat: Add enterprise edition support to firestore:databases:create #8952
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @ehsannas, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
I've implemented a new feature that allows users to specify the edition (Standard or Enterprise) when creating a Firestore database. This enhancement provides greater control over database provisioning, catering to different operational needs. The change includes updates to the CLI command, API interfaces, configuration schema, and deployment logic, ensuring a seamless experience whether creating databases via the command line or through firebase.json
.
Highlights
- New
--edition
flag for Firestore database creation: I've added a new--edition
flag to thefirebase firestore:databases:create
command. This allows users to specify whether they want to create a 'standard' or 'enterprise' edition Firestore database directly from the command line. - Flexible input and default behavior: The
--edition
flag is case-insensitive, meaning inputs like 'Enterprise' or 'ENTERPRISE' are accepted. If the flag is not provided, the database will default to the 'standard' edition, maintaining backward compatibility. - Support for
firebase.json
configuration: Beyond the command line, I've also enabled support for specifying the database edition within thefirebase.json
configuration file. This allows for declarative setup of Firestore databases, including their edition. - Input validation and error handling: I've implemented robust validation for the
--edition
flag and theedition
field infirebase.json
to ensure that only 'standard' or 'enterprise' are accepted values, providing clear error messages for invalid inputs.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments or fill out our survey to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request adds support for creating enterprise edition Firestore databases via the --edition
flag in firestore:databases:create
and through firebase.json
. The changes look good overall, with new tests covering the functionality. I've provided a couple of suggestions to refactor the logic for parsing the new edition
option to improve correctness and readability.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #8952 +/- ##
==========================================
- Coverage 52.18% 50.84% -1.35%
==========================================
Files 418 504 +86
Lines 30694 33187 +2493
Branches 6348 6882 +534
==========================================
+ Hits 16018 16873 +855
- Misses 13234 14830 +1596
- Partials 1442 1484 +42 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, lets just add a changelog entry
Added a new
--edition
flag to thefirestore:databases:create
command. Valid values for it are standard and enterprise, case-insensitive (e.g. Enterprise, ENTERPRISE, etc are acceptable). The default value is standard and is equivalent to not providing the flag.